package com.zhai.trigger.api;

import com.zhai.trigger.dto.ActivityDrawRequestDTO;
import com.zhai.trigger.dto.ActivityDrawResponseDTO;
import com.zhai.trigger.dto.UserActivityAccountRequestDTO;
import com.zhai.trigger.dto.UserActivityAccountResponseDTO;
import com.zhai.types.model.Response;

/**
 * @Description: 抽奖活动外部接口
 * @ClassName: IRaffleActivityService
 * @Author: zhaiyongxin
 * @Date: 2025/3/19 14:22
 * @Version: 1.0
 */
public interface IRaffleActivityService {
    /**
     * 活动装配接口
     * @param activityId 活动id
     * @return 装配结果
     */
    Response<Boolean> armory(Long activityId);

    /**
     * 活动抽奖接口
     * @param request 请求对象
     * @return 返回结果
     */
    Response<ActivityDrawResponseDTO> draw(ActivityDrawRequestDTO request);

    /**
     * 签到接口
     * @param userId 请求对象
     * @return 返回结果
     */
    Response<Boolean> calendarSignRebate(String userId);

    /**
     * 用户是否签到接口
     * @param userId 请求对象
     * @return 返回结果
     */
    Response<Boolean> isCalendarSignRebate(String userId);

    /* *
     * @Params: [request]
     * @Return: Response<UserActivityAccountResponseDTO>
     * @Description: 查询用户账户信息
     */
    Response<UserActivityAccountResponseDTO> queryUserActivityAccount(UserActivityAccountRequestDTO request);
}
